package com.pn.service;

import com.pn.dto.AssignAuthDto;
import com.pn.dto.RolePageList;
import com.pn.entity.Auth;
import com.pn.entity.Role;
import com.pn.utils.PageBean;
import com.pn.utils.Result;

import java.util.List;

public interface RoleService {
    //查询所有角色
    List<Role> roleList();

    //查询用户已分配的角色
    List<Role> userRoleList(Integer userId);

    //角色列表
    PageBean<Role> rolePageList(RolePageList rolePageList);

    //添加角色
    Result roleAdd(Role role);

    //启用禁用角色
    Result roleStateUpdateByRid(Role role);

    //删除角色
    Result roleDeleteByRid(Integer roleId);

    //获取权限列表
    List<Auth> roleAuthTree();

    //根据角色id查询分配的所有权限菜单的方法
    public List<Integer> querRoleAuthIds(Integer roleId);

    //给角色添加权限
    Result grantAuthAdd(AssignAuthDto assignAuthDto);

    //修改角色
    Result setDescByRid(Role role);
}
